Fixed regression reported in bug #574059. (search button not available in
authorMichael Hasselmann <michaelh@openismus.com>
Tue, 10 Mar 2009 15:57:16 +0000 (15:57 +0000)
committerMurray Cumming <murrayc@src.gnome.org>
Tue, 10 Mar 2009 15:57:16 +0000 (15:57 +0000)
2009-03-04  Michael Hasselmann <michaelh@openismus.com>

* gtk/gtkcomboboxentry.c (gtk_combo_box_entry_contents_changed):
Fixed regression reported in bug #574059. (search button not available in
some cases.) The old implementation relied on bug #572478.

svn path=/trunk/; revision=22500

ChangeLog
gtk/gtkcomboboxentry.c

index 2fee18dc8b51668e81dc5bb1380604d1370434aa..01ff06203737ac4c3340e89c322888f9edb9afc9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2009-03-04  Michael Hasselmann <michaelh@openismus.com>
+
+       * gtk/gtkcomboboxentry.c (gtk_combo_box_entry_contents_changed):
+       Fixed regression reported in bug #574059. (search button not available in 
+       some cases.) The old implementation relied on bug #572478.
+
 2009-03-10  Alexander Larsson  <alexl@redhat.com>
 
         * gtk/gtkmountoperation.c:
index ad56ad352d359a391d694238b102a6432caf8ae8..93ae5aea017d8442f66ddf62f8e20cc8394df8ee 100644 (file)
@@ -291,13 +291,15 @@ gtk_combo_box_entry_contents_changed (GtkEntry *entry,
 {
   GtkComboBox *combo_box = GTK_COMBO_BOX (user_data);
 
-  g_signal_handlers_block_by_func (combo_box,
-                                   gtk_combo_box_entry_active_changed,
-                                   NULL);
-  gtk_combo_box_set_active (combo_box, -1);
-  g_signal_handlers_unblock_by_func (combo_box,
-                                     gtk_combo_box_entry_active_changed,
-                                     NULL);
+  /*
+   *  Fixes regression reported in bug #574059. The old functionality relied on
+   *  bug #572478.  As a bugfix, we now emit the "changed" signal ourselves
+   *  when the selection was already set to -1. 
+   */
+  if (gtk_combo_box_get_active(combo_box) == -1)
+    g_signal_emit_by_name (combo_box, "changed");
+  else 
+    gtk_combo_box_set_active (combo_box, -1);
 }
 
 /* public API */